This section provides background information related to the present disclosure which is not necessarily prior art.
At present, in a Windows Operating System (OS), most applications with graphic interfaces are rendered with a specific graphic rendering engine.
The present graphic rendering engine mainly renders the graphic interfaces adopting a graphic processing interface. The present graphic processing interface mainly includes: a Graphics Device Interface (GUI) and improved versions thereof, such as GDI+ (GDI Plus), Direct3D (D3D) and an Open Graphics Library (OpenGL).
Except for games, most applications render the graphic interfaces for the applications with Microsoft's GDI and an improved version GDI+ of the GDI. The principle of the GDI is operating and copying pixels in a memory. A user may execute operations, such as graphics and files outputting on a screen, a printer or other output device with many functions provided by the GDI or the GDI+. The GDI and the GDI+ may output the output of the applications on the hardware device and a programmer need not to be concerned with the processing of the hardware devices and device drivers, which is convenient for development. The GDI and the GDI+ have good compatibility on the Windows platform.
Although the GDI and GDI+ have good compatibility, the rendering efficiency of the GDI and the GDI+ is low. The GDI and GDI+ are used in simple graphic applications, in which the efficiency of the GDI and GDI+ is acceptable. However, in some complicated graphic application scenarios, such as games and professional graphics making and viewing applications, the efficiency of the GDI and GDI+ is apparently low. The following operations are pixels-based operations. The efficiency of the GDI and the GDI+ is specifically low when performing the following operations.
Alpha blending (i.e. a graphic is rendered on another graphic in a translucent mode),
high quality graphic zooming, and
arbitrary rotation of a graphic.
Although the GDI+ partially uses hardware acceleration, the actual rendering efficiency is lower than that of the GDI.
Another drawback of the GDI and GDI+ is occupying too many resources. Although there is a Graphic Processing Unit (GPU), which is independent of the CPU, specially made for graphic rendering and has powerful parallel computing capabilities, in the conventional method for performing the acceleration, the GDI and GDI+ do not extensively use the GPU to achieve the purpose of acceleration, but relies more on the CPU.
Another graphic processing interface is the D3D, which is a 3D graphic interface provided by the Microsoft and is widely used in advanced graphic applications, such as games. The rendering efficiency of the D3D is high and the D3D performs the hardware acceleration with the dedicated GPU.
Another graphic processing interface is an Open Graphics Library (OpenGL), which defines a standard for a cross-language and cross-platform programming interface and is used for rendering a three-dimensional graphic (or a two-dimensional graphic). The OpenGL is a professional graphic programming interface is a powerful underlying graphic library.
However, the D3D and OpenGL have the following two drawbacks, which limit the application of the D3D and the OpenGL.
First, more hardware tiers are involved and capability is poor. In the graphic rendering process, errors may occur due to influence of a hardware environment.
Second, the interface is complicated. A lot of codes need to be written for each rendering processing, which burdens the development.
Users' demand on the graphic processing grows rapidly. The users not only demand a gorgeous and smooth interface, but also demand faster, more efficient and better quality of performance.
However, the graphic processing interfaces, i.e., the GDI, GDI+, D3D and OpenGL, in the conventional method have their drawbacks. It is hard for them to satisfy comprehensive performance requirements of the application interface rendering. The comprehensive performances include high rendering efficiency, less CPU occupation, good capability and easy-to-use interfaces.